#ifndef __IMA_MQ_INTERFACE_H__
#define __IMA_MQ_INTERFACE_H__

#include "ImaConf.h"

#define MSGQBUFSZ 1024

class ImaMqInterface {

	public:
		static ImaMqInterface* getInstance(ImaConf& conf);
		~ImaMqInterface();
		bool enqueueImId(const char* pImId);
		bool enqueueConfCode(const char* pUserEmailId, const char* pConfCode, bool bEmailAndImSame);
		bool enqueueNewPassword(const char* pUserEmailId, const char* pNewPassword);
		bool enqueueUserFeedback(const char* pSenderName, const char* pSenderEmailId, const char* pMsgSub, const char* pMsgBody);

	private:
		ImaMqInterface(ImaConf& conf);

		static ImaMqInterface* mpMqInterface;
		int mImMsgQId;
		int mRegConfCodeMsgQId;
		int mNewPasswordMsgQId;
		int mUserFeedbackMsgQId;

		struct msgbuf {
			long msg_type;
			char msg_buf[MSGQBUFSZ];
		};
};
		
#endif//__IMA_MQ_INTERFACE_H__
